package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 房租账单汇总对象 rent_billamount
 * 
 * @author expense
 * @date 2025-03-11
 */
public class RentBillamount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房租账单汇总Id */
    private String billamountId;

    /** 房租合同Id */
    @Excel(name = "房租合同Id")
    private String rentcontractId;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private String supplierId;

    /** 供应商编码 */
    @Excel(name = "供应商编码")
    private String supplierCode;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 供应商地址 */
    @Excel(name = "供应商地址")
    private String supplierAddress;

    /** 供应商联系人 */
    @Excel(name = "供应商联系人")
    private String supplierContact;

    /** 供应商联系电话 */
    @Excel(name = "供应商联系电话")
    private String supplierTelephone;

    /** 所属省份 */
    @Excel(name = "所属省份")
    private String prvId;

    /** 银行户名 */
    @Excel(name = "银行户名")
    private String bankUser;

    /** 开户银行 */
    @Excel(name = "开户银行")
    private String depositBank;

    /** 银行账户 */
    @Excel(name = "银行账户")
    private String bankAccount;

    /** 汇总单号 */
    @Excel(name = "汇总单号")
    private String billamountCode;

    /** 汇总日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "汇总日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountDate;

    /** 汇总金额（含税） */
    @Excel(name = "汇总金额", readConverterExp = "含=税")
    private BigDecimal billamountWithtax;

    /** 汇总金额（不含税） */
    @Excel(name = "汇总金额", readConverterExp = "不=含税")
    private BigDecimal billamountNotax;

    /** 汇总税额 */
    @Excel(name = "汇总税额")
    private BigDecimal billamountTaxamount;

    /** 报账状态 (-1：未推送 ,0：已推送,1：已报账,2：已审核,8：已撤销) */
    @Excel(name = "报账状态 (-1：未推送 ,0：已推送,1：已报账,2：已审核,8：已撤销)")
    private Long billamountState;

    /** 汇总摘要 */
    @Excel(name = "汇总摘要")
    private String billamountNote;

    /** 报账人工号 */
    @Excel(name = "报账人工号")
    private String userNumber;

    /** 报账人用户名 */
    @Excel(name = "报账人用户名")
    private String userName;

    /** 摊销处理 */
    @Excel(name = "摊销处理")
    private Long isAmortize;

    /** 报账类型（1：报账,4：托收(透支户报账)） */
    @Excel(name = "报账类型", readConverterExp = "1=：报账,4：托收(透支户报账)")
    private Long billType;

    /** 财务大集中与普通标识（1：财务大集中） */
    @Excel(name = "财务大集中与普通标识", readConverterExp = "1=：财务大集中")
    private String isFinance;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String pregId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String pregName;

    /** 一级费用类型，枚举值详见数据字典 */
    @Excel(name = "一级费用类型，枚举值详见数据字典")
    private Long oneFeeType;

    /** 汇总单分页大小 */
    @Excel(name = "汇总单分页大小")
    private Long pushSize;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal adjustBillamountWithtax;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal adjustBillamountNotax;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal adjustBillamountTaxamount;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal otherAmountNotax;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal otherAmountNodeduction;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal otherAmountTax;

    /** 其他费用-价款总和（汇总单） */
    @Excel(name = "其他费用-价款总和", readConverterExp = "汇=总单")
    private BigDecimal otherPriceSum;

    /** 其它费用-含税金额总和（汇总单） */
    @Excel(name = "其它费用-含税金额总和", readConverterExp = "汇=总单")
    private BigDecimal otherBillamountTaxSum;

    /** 其它费用-税金总和（汇总单） */
    @Excel(name = "其它费用-税金总和", readConverterExp = "汇=总单")
    private BigDecimal otherAmountTaxSum;

    /** 是否是新缴费数据  1:是 */
    @Excel(name = "是否是新缴费数据  1:是")
    private Integer newFlag;

    /** smap账号 */
    @Excel(name = "smap账号")
    private String smapId;

    /** 错误数据更正编号 */
    @Excel(name = "错误数据更正编号")
    private String correctId;

    /** 错误数据更正时间  */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "错误数据更正时间 ", width = 30, dateFormat = "yyyy-MM-dd")
    private Date correctTime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDataTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createDataUser;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDataTime;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updateDataUser;

    /** 推送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pushDate;

    /** 财务返回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "财务返回时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date financeDate;

    /** 校验状态:1为通过 */
    @Excel(name = "校验状态:1为通过")
    private Integer checkState;

    /** 仅用于防旁漏校验1:是,0:否 */
    @Excel(name = "仅用于防旁漏校验1:是,0:否")
    private Integer useCheck;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastModifyTime;

    /** 财务入账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "财务入账时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date glDate;

    /** 报账人ID */
    @Excel(name = "报账人ID")
    private String reimbursementUserId;

    /** 报账人smap账号 */
    @Excel(name = "报账人smap账号")
    private String reimbursementUserSmap;

    /** 报账人公司编码 */
    @Excel(name = "报账人公司编码")
    private String reimbursementUserCompanyCode;

    /** 报账人公司名称 */
    @Excel(name = "报账人公司名称")
    private String reimbursementUserCompanyName;

    /** 报账人部门编码 */
    @Excel(name = "报账人部门编码")
    private String reimbursementUserDepartmentCode;

    /** 报账人部门名称 */
    @Excel(name = "报账人部门名称")
    private String reimbursementUserDepartmentName;

    public void setBillamountId(String billamountId) 
    {
        this.billamountId = billamountId;
    }

    public String getBillamountId() 
    {
        return billamountId;
    }
    public void setRentcontractId(String rentcontractId) 
    {
        this.rentcontractId = rentcontractId;
    }

    public String getRentcontractId() 
    {
        return rentcontractId;
    }
    public void setSupplierId(String supplierId) 
    {
        this.supplierId = supplierId;
    }

    public String getSupplierId() 
    {
        return supplierId;
    }
    public void setSupplierCode(String supplierCode) 
    {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() 
    {
        return supplierCode;
    }
    public void setSupplierName(String supplierName) 
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName() 
    {
        return supplierName;
    }
    public void setSupplierAddress(String supplierAddress) 
    {
        this.supplierAddress = supplierAddress;
    }

    public String getSupplierAddress() 
    {
        return supplierAddress;
    }
    public void setSupplierContact(String supplierContact) 
    {
        this.supplierContact = supplierContact;
    }

    public String getSupplierContact() 
    {
        return supplierContact;
    }
    public void setSupplierTelephone(String supplierTelephone) 
    {
        this.supplierTelephone = supplierTelephone;
    }

    public String getSupplierTelephone() 
    {
        return supplierTelephone;
    }
    public void setPrvId(String prvId) 
    {
        this.prvId = prvId;
    }

    public String getPrvId() 
    {
        return prvId;
    }
    public void setBankUser(String bankUser) 
    {
        this.bankUser = bankUser;
    }

    public String getBankUser() 
    {
        return bankUser;
    }
    public void setDepositBank(String depositBank) 
    {
        this.depositBank = depositBank;
    }

    public String getDepositBank() 
    {
        return depositBank;
    }
    public void setBankAccount(String bankAccount) 
    {
        this.bankAccount = bankAccount;
    }

    public String getBankAccount() 
    {
        return bankAccount;
    }
    public void setBillamountCode(String billamountCode) 
    {
        this.billamountCode = billamountCode;
    }

    public String getBillamountCode() 
    {
        return billamountCode;
    }
    public void setBillamountDate(Date billamountDate) 
    {
        this.billamountDate = billamountDate;
    }

    public Date getBillamountDate() 
    {
        return billamountDate;
    }
    public void setBillamountWithtax(BigDecimal billamountWithtax) 
    {
        this.billamountWithtax = billamountWithtax;
    }

    public BigDecimal getBillamountWithtax() 
    {
        return billamountWithtax;
    }
    public void setBillamountNotax(BigDecimal billamountNotax) 
    {
        this.billamountNotax = billamountNotax;
    }

    public BigDecimal getBillamountNotax() 
    {
        return billamountNotax;
    }
    public void setBillamountTaxamount(BigDecimal billamountTaxamount) 
    {
        this.billamountTaxamount = billamountTaxamount;
    }

    public BigDecimal getBillamountTaxamount() 
    {
        return billamountTaxamount;
    }
    public void setBillamountState(Long billamountState) 
    {
        this.billamountState = billamountState;
    }

    public Long getBillamountState() 
    {
        return billamountState;
    }
    public void setBillamountNote(String billamountNote) 
    {
        this.billamountNote = billamountNote;
    }

    public String getBillamountNote() 
    {
        return billamountNote;
    }
    public void setUserNumber(String userNumber) 
    {
        this.userNumber = userNumber;
    }

    public String getUserNumber() 
    {
        return userNumber;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setIsAmortize(Long isAmortize) 
    {
        this.isAmortize = isAmortize;
    }

    public Long getIsAmortize() 
    {
        return isAmortize;
    }
    public void setBillType(Long billType) 
    {
        this.billType = billType;
    }

    public Long getBillType() 
    {
        return billType;
    }
    public void setIsFinance(String isFinance) 
    {
        this.isFinance = isFinance;
    }

    public String getIsFinance() 
    {
        return isFinance;
    }
    public void setRegId(String regId) 
    {
        this.regId = regId;
    }

    public String getRegId() 
    {
        return regId;
    }
    public void setRegName(String regName) 
    {
        this.regName = regName;
    }

    public String getRegName() 
    {
        return regName;
    }
    public void setPregId(String pregId) 
    {
        this.pregId = pregId;
    }

    public String getPregId() 
    {
        return pregId;
    }
    public void setPregName(String pregName) 
    {
        this.pregName = pregName;
    }

    public String getPregName() 
    {
        return pregName;
    }
    public void setOneFeeType(Long oneFeeType) 
    {
        this.oneFeeType = oneFeeType;
    }

    public Long getOneFeeType() 
    {
        return oneFeeType;
    }
    public void setPushSize(Long pushSize) 
    {
        this.pushSize = pushSize;
    }

    public Long getPushSize() 
    {
        return pushSize;
    }
    public void setAdjustBillamountWithtax(BigDecimal adjustBillamountWithtax) 
    {
        this.adjustBillamountWithtax = adjustBillamountWithtax;
    }

    public BigDecimal getAdjustBillamountWithtax() 
    {
        return adjustBillamountWithtax;
    }
    public void setAdjustBillamountNotax(BigDecimal adjustBillamountNotax) 
    {
        this.adjustBillamountNotax = adjustBillamountNotax;
    }

    public BigDecimal getAdjustBillamountNotax() 
    {
        return adjustBillamountNotax;
    }
    public void setAdjustBillamountTaxamount(BigDecimal adjustBillamountTaxamount) 
    {
        this.adjustBillamountTaxamount = adjustBillamountTaxamount;
    }

    public BigDecimal getAdjustBillamountTaxamount() 
    {
        return adjustBillamountTaxamount;
    }
    public void setOtherAmountNotax(BigDecimal otherAmountNotax) 
    {
        this.otherAmountNotax = otherAmountNotax;
    }

    public BigDecimal getOtherAmountNotax() 
    {
        return otherAmountNotax;
    }
    public void setOtherAmountNodeduction(BigDecimal otherAmountNodeduction) 
    {
        this.otherAmountNodeduction = otherAmountNodeduction;
    }

    public BigDecimal getOtherAmountNodeduction() 
    {
        return otherAmountNodeduction;
    }
    public void setOtherAmountTax(BigDecimal otherAmountTax) 
    {
        this.otherAmountTax = otherAmountTax;
    }

    public BigDecimal getOtherAmountTax() 
    {
        return otherAmountTax;
    }
    public void setOtherPriceSum(BigDecimal otherPriceSum) 
    {
        this.otherPriceSum = otherPriceSum;
    }

    public BigDecimal getOtherPriceSum() 
    {
        return otherPriceSum;
    }
    public void setOtherBillamountTaxSum(BigDecimal otherBillamountTaxSum) 
    {
        this.otherBillamountTaxSum = otherBillamountTaxSum;
    }

    public BigDecimal getOtherBillamountTaxSum() 
    {
        return otherBillamountTaxSum;
    }
    public void setOtherAmountTaxSum(BigDecimal otherAmountTaxSum) 
    {
        this.otherAmountTaxSum = otherAmountTaxSum;
    }

    public BigDecimal getOtherAmountTaxSum() 
    {
        return otherAmountTaxSum;
    }
    public void setNewFlag(Integer newFlag) 
    {
        this.newFlag = newFlag;
    }

    public Integer getNewFlag() 
    {
        return newFlag;
    }
    public void setSmapId(String smapId) 
    {
        this.smapId = smapId;
    }

    public String getSmapId() 
    {
        return smapId;
    }
    public void setCorrectId(String correctId) 
    {
        this.correctId = correctId;
    }

    public String getCorrectId() 
    {
        return correctId;
    }
    public void setCorrectTime(Date correctTime) 
    {
        this.correctTime = correctTime;
    }

    public Date getCorrectTime() 
    {
        return correctTime;
    }
    public void setCreateDataTime(Date createDataTime) 
    {
        this.createDataTime = createDataTime;
    }

    public Date getCreateDataTime() 
    {
        return createDataTime;
    }
    public void setCreateDataUser(String createDataUser) 
    {
        this.createDataUser = createDataUser;
    }

    public String getCreateDataUser() 
    {
        return createDataUser;
    }
    public void setUpdateDataTime(Date updateDataTime) 
    {
        this.updateDataTime = updateDataTime;
    }

    public Date getUpdateDataTime() 
    {
        return updateDataTime;
    }
    public void setUpdateDataUser(String updateDataUser) 
    {
        this.updateDataUser = updateDataUser;
    }

    public String getUpdateDataUser() 
    {
        return updateDataUser;
    }
    public void setPushDate(Date pushDate) 
    {
        this.pushDate = pushDate;
    }

    public Date getPushDate() 
    {
        return pushDate;
    }
    public void setFinanceDate(Date financeDate) 
    {
        this.financeDate = financeDate;
    }

    public Date getFinanceDate() 
    {
        return financeDate;
    }
    public void setCheckState(Integer checkState) 
    {
        this.checkState = checkState;
    }

    public Integer getCheckState() 
    {
        return checkState;
    }
    public void setUseCheck(Integer useCheck) 
    {
        this.useCheck = useCheck;
    }

    public Integer getUseCheck() 
    {
        return useCheck;
    }
    public void setLastModifyTime(Date lastModifyTime) 
    {
        this.lastModifyTime = lastModifyTime;
    }

    public Date getLastModifyTime() 
    {
        return lastModifyTime;
    }
    public void setGlDate(Date glDate) 
    {
        this.glDate = glDate;
    }

    public Date getGlDate() 
    {
        return glDate;
    }
    public void setReimbursementUserId(String reimbursementUserId) 
    {
        this.reimbursementUserId = reimbursementUserId;
    }

    public String getReimbursementUserId() 
    {
        return reimbursementUserId;
    }
    public void setReimbursementUserSmap(String reimbursementUserSmap) 
    {
        this.reimbursementUserSmap = reimbursementUserSmap;
    }

    public String getReimbursementUserSmap() 
    {
        return reimbursementUserSmap;
    }
    public void setReimbursementUserCompanyCode(String reimbursementUserCompanyCode) 
    {
        this.reimbursementUserCompanyCode = reimbursementUserCompanyCode;
    }

    public String getReimbursementUserCompanyCode() 
    {
        return reimbursementUserCompanyCode;
    }
    public void setReimbursementUserCompanyName(String reimbursementUserCompanyName) 
    {
        this.reimbursementUserCompanyName = reimbursementUserCompanyName;
    }

    public String getReimbursementUserCompanyName() 
    {
        return reimbursementUserCompanyName;
    }
    public void setReimbursementUserDepartmentCode(String reimbursementUserDepartmentCode) 
    {
        this.reimbursementUserDepartmentCode = reimbursementUserDepartmentCode;
    }

    public String getReimbursementUserDepartmentCode() 
    {
        return reimbursementUserDepartmentCode;
    }
    public void setReimbursementUserDepartmentName(String reimbursementUserDepartmentName) 
    {
        this.reimbursementUserDepartmentName = reimbursementUserDepartmentName;
    }

    public String getReimbursementUserDepartmentName() 
    {
        return reimbursementUserDepartmentName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("billamountId", getBillamountId())
            .append("rentcontractId", getRentcontractId())
            .append("supplierId", getSupplierId())
            .append("supplierCode", getSupplierCode())
            .append("supplierName", getSupplierName())
            .append("supplierAddress", getSupplierAddress())
            .append("supplierContact", getSupplierContact())
            .append("supplierTelephone", getSupplierTelephone())
            .append("prvId", getPrvId())
            .append("bankUser", getBankUser())
            .append("depositBank", getDepositBank())
            .append("bankAccount", getBankAccount())
            .append("billamountCode", getBillamountCode())
            .append("billamountDate", getBillamountDate())
            .append("billamountWithtax", getBillamountWithtax())
            .append("billamountNotax", getBillamountNotax())
            .append("billamountTaxamount", getBillamountTaxamount())
            .append("billamountState", getBillamountState())
            .append("billamountNote", getBillamountNote())
            .append("userNumber", getUserNumber())
            .append("userName", getUserName())
            .append("isAmortize", getIsAmortize())
            .append("billType", getBillType())
            .append("isFinance", getIsFinance())
            .append("regId", getRegId())
            .append("regName", getRegName())
            .append("pregId", getPregId())
            .append("pregName", getPregName())
            .append("oneFeeType", getOneFeeType())
            .append("pushSize", getPushSize())
            .append("adjustBillamountWithtax", getAdjustBillamountWithtax())
            .append("adjustBillamountNotax", getAdjustBillamountNotax())
            .append("adjustBillamountTaxamount", getAdjustBillamountTaxamount())
            .append("otherAmountNotax", getOtherAmountNotax())
            .append("otherAmountNodeduction", getOtherAmountNodeduction())
            .append("otherAmountTax", getOtherAmountTax())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("otherPriceSum", getOtherPriceSum())
            .append("otherBillamountTaxSum", getOtherBillamountTaxSum())
            .append("otherAmountTaxSum", getOtherAmountTaxSum())
            .append("newFlag", getNewFlag())
            .append("smapId", getSmapId())
            .append("correctId", getCorrectId())
            .append("correctTime", getCorrectTime())
            .append("createDataTime", getCreateDataTime())
            .append("createDataUser", getCreateDataUser())
            .append("updateDataTime", getUpdateDataTime())
            .append("updateDataUser", getUpdateDataUser())
            .append("pushDate", getPushDate())
            .append("financeDate", getFinanceDate())
            .append("checkState", getCheckState())
            .append("useCheck", getUseCheck())
            .append("lastModifyTime", getLastModifyTime())
            .append("glDate", getGlDate())
            .append("reimbursementUserId", getReimbursementUserId())
            .append("reimbursementUserSmap", getReimbursementUserSmap())
            .append("reimbursementUserCompanyCode", getReimbursementUserCompanyCode())
            .append("reimbursementUserCompanyName", getReimbursementUserCompanyName())
            .append("reimbursementUserDepartmentCode", getReimbursementUserDepartmentCode())
            .append("reimbursementUserDepartmentName", getReimbursementUserDepartmentName())
            .toString();
    }
}
